The present invention relates generally to any system that estimates one or another aspect of the motion of an object, such as position. More particularly, the present invention pertains to the application of statistical filters, such as a Kalman filter, in such generalized positioning systems.
A satellite positioning system (SATPS) receiver generally determines its positions by triangulating its Line of Sight (LOS) range to several satellites or space vehicles. A GPS receiver, for example, computes a 4-dimensional solution involving latitude, longitude, altitude, and time using the LOS ranges to as few as four satellites. The accuracy of the solution is a direct function of the accuracy of the range measurements.
SATPS receivers are growing rapidly in popularity and application. GPS receivers, for example, are now common in aviation, marine, and terrestrial applications. An increasingly common terrestrial application for GPS receivers is in automobiles. In the automotive context, the vehicle""s location is typically displayed on an electronic display of a street map. It is vital in this context, therefore, to provide the driver with continuously updated position solutions, collectively called a xe2x80x9cground track,xe2x80x9d that accurately track the vehicle""s movement from one moment to the next. Experience shows that consumers consider ground-track fidelity as one of the most important criteria in choosing a receiver. It is extremely important, therefore, that the ground-track displayed on the GPS receiver""s electronic map not have spurious jumps, stair steps, spikes, jigs, or jogs that are unrelated to the vehicle""s actual path.
There are a number of factors, however, that may cause discontinuities in the position solutions used to determine the ground-track of an automotive SATPS receiver. One source of position solution discontinuity is xe2x80x9cSelective Availabilityxe2x80x9d (SA), which restricts the accuracy of civilian GPS receivers to roughly 100 meters. SA is intentionally used by the U.S. Government for purposes of national security. The Department of Defense (DOD) implements SA by purposely injecting error into the satellite range signals.
Another common source of position solution discontinuity is due to the phenomenon known as multi-path, where the true LOS signal from a given satellite reaches the GPS receiver""s antenna, along with additional signals providing supposedly the same information, the additional signals caused by reflection from nearby objects, such as buildings or cliffs. The multi-path phenomenon is particularly troublesome for automotive receivers because they are frequently used in cities and surrounded by tall buildings. This environment is sometimes called an xe2x80x9curban canyonxe2x80x9d due to the canyon-like setting it resembles. Regardless of source, multi-path can be a very vexing problem because the additional signals may be very strong, but very wrong.
Yet another source of position solution discontinuity is that the constellation of satellites used by a SATPS receiver can change; the SATPS receiver may see a different constellation of satellites from one moment to the next. If the GPS receiver is located in an urban canyon environment, for example, individual satellites may become blocked and later unblocked as the receiver moves past different buildings. The discontinuity arises in this situation because the error in a position solution is based on the constellation of satellites used. (Two satellites located in approximately the same direction will provide position information with larger error than two satellites in very different directions, all other things being equal.) If the position solution provided by a GPS receiver is suddenly based on a different constellation, the different error may cause a jump or discontinuity in position.
It is known in the art to use a Kalman filter to account for the uncertainties in measurement data provided to a positioning system. FIG. 1 is a simplified flow diagram of a conventional GPS-type positioning system 10 including an RF antenna 11, a measurement engine 12 and a Kalman filter 14, providing a position estimate {circumflex over (x)}(k) for position at time instant k. The measurement engine 12 receives RF signals from a plurality of orbiting satellites via the antenna 11 and provides the Kalman filter 14 with measured position and velocity, i.e. measured state information as opposed to the predicted state information provided buy the Kalman filter based on the measured values.
The construction of the measurement engine 12 varies from application to application. Generally, the measurement engine 12 contains the analog electronics (e.g. preamplifiers, amplifiers, frequency converters, etc.) needed to pull in the RF signal, and further includes a code correlator for detecting a particular GPS code corresponding to a particular satellite. The measurement engine 12 estimates the line of sight (LOS) range to a detected satellite using a local, onboard GPS clock and data from the satellite indicating when the satellite code was transmitted. The LOS ranges determined this way are called pseudo-ranges because they are only estimates of the actual ranges, based on the local detection time. In the positioning system 10 of FIG. 1, the measurement engine 12 converts the pseudo-ranges it acquires over time to measurements z(k) of the state of the process, i.e. to a position and velocity of the moving object whose position is being determined.
Further it is known in the art that it is advantageous to smooth measurement data provided to a Kalman filter used in a positioning system. Colley (U.S. Pat. No. 5,883,595) discloses a method of smoothing Kalman filter position states forming a ground-track in a receiver used in a satellite based positioning system. In such systems, data pairs including an incoming value and a xe2x80x9crawxe2x80x9d reliability estimate (e.g. a standard deviation) are normally fed directly to the Kalman Filter. The Kalman filter computes the resultant and an overall uncertainty estimate by applying a weight to each successive incoming, measurement value based on its reliability. The Kalman filter also estimates incoming values based on past values. The method of Colley involves the steps of replacing the raw reliability with a modified reliability if the incoming value is too far from the estimate in view of an adjustable limit envelope defined by the current uncertainty estimate and reliability value. If the difference is small, however, then the reliability value is passed without modification. The modified reliability value is preferably scaled or decreased in proportion to the amount by which the square of the incoming value is outside of the limit envelope.
While the Colley invention is potentially advantageous compared to using a standard Kalman filter, the pre-processing of the measurement data is based on ad hoc values associated with the adjustable limit envelope. What is needed is a way to provide for what is essentially automatic, dynamical tuning of a Kalman filter used in a positioning system, based on statistical measures of the error of incoming measurements.
Further what is needed, ideally, is a source of measurement data (used to determine pseudo-ranges and pseudo-rates) that does not suffer from the same errors as affect satellite measurement data. Such a second source of measurement data would presumably not usually be in error simultaneously with, or in the same way as satellite data. It is expected that information similar to what is provided by satellites will soon be provided by base stations of cellular systems. The W-CDMA (cellular) system, now being developed, already provides cell identifiers, enabling positioning based on the identifiers. The main sources of noise and inaccuracy in such cellular-provided information are not the same as for satellites; instead of atmosphere, multi-path, and selective availability, error in a cellular system is caused by obstacles in the signal path, range measurement quantization, and interfering frequencies.
Even though the use of two different types of sources of positioning measurements can provide an inherently more reliable positioning system, it is still true that at any instant of time a particular measurement can be greatly impaired by-one or another source of error (not usually the selective diversity, which is intended only to xe2x80x9cditherxe2x80x9d the correct measurement). Thus, it remains advantageous, even in case of a hybrid positioning system (hybrid in the sense of different kinds of sources of measurement), to provide a way for automatic, dynamical tuning of a Kalman filter used in a positioning system, based on statistical measures of the error of measurements.
Accordingly, the present invention provides an improved generalized positioning system, for making estimates of state information of an object, the state information being information about the state of motion of the object, having a filter that statistically determines a succession of state estimates along with corresponding uncertainty estimates based on a succession of state measurements, the improvement comprising: means for determining association probabilities for a plurality of state measurements all at a same instant of time, each association probability corresponding to a particular state measurement at the instant of time, and also means for determining an association probability providing a value for the probability that none of the plurality of measurements is correct; means for combining into a single measurement innovation each individual innovation using the association probabilities as weightings; and means for determining the covariance of the updated state based on the individual association probabilities, the association probability for providing a value for the probability that none of the measurements is correct, and the combined measurement innovation.
In a further aspect of the invention, the filter is responsive to measurements provided by a measurement engine receiving information from both satellites and cellular base stations.
In a still further aspect of the invention, the filter is responsive to a finite gate width of a validation region, and, in addition, the filter rejects a state measurement if it falls outside the validation region.